var prefix = "/cashier/order/manage";
$(function () {
    load();
});
$('#cashierOrderTable').on('load-success.bs.table', function (e, data) {
    if (data.total && !data.rows.length) {
        $('#cashierOrderTable').bootstrapTable('selectPage').bootstrapTable('refresh');
    }
});

function load() {
    $('#cashierOrderTable').bootstrapTable(
        {
            method: 'get', // 服务器数据的请求方式 get or post
            url: prefix + "/list", // 服务器数据的加载地址
            showRefresh: true,
            // showToggle : true,
            iconSize: 'outline',
            // toolbar: '#exampleToolbar',
            striped: true, // 设置为true会有隔行变色效果
            dataType: "json", // 服务器返回的数据类型
            pagination: true, // 设置为true会在底部显示分页条
            pageList: [10, 20, 50],
            // queryParamsType : "limit",
            // //设置为limit则会发送符合RESTFull格式的参数
            singleSelect: false, // 设置为true将禁止多选
            // contentType : "application/x-www-form-urlencoded",
            // //发送到服务器的数据编码类型
            pageSize: 10, // 如果设置了分页，每页数据条数
            pageNumber: 1, // 如果设置了分布，首页页码
            // search : true, // 是否显示搜索框
            showColumns: true, // 是否显示内容下拉框（选择显示的列）
            sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者
            // "server"
            queryParams: function (params) {
                return {
                    limit: params.limit,
                    offset: params.offset,
                    order: 'desc',
                    status: $.trim($("#status").val()),
                    centreId:$("#centreId").val(),
                    // startDate: $.trim($("#startDate").val()),
                    // endDate: $.trim($("#endDate").val()),
                    keyword: $.trim($('#keyword').val()),
                    type: $('#type').val(),
                };
            },
            // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
            // queryParamsType = 'limit' ,返回参数必须包含
            // limit, offset, search, sort, order 否则, 需要包含:
            // pageSize, pageNumber, searchText, sortName,
            // sortOrder.
            // 返回false将会终止请求
            columns: [
                {
                    field: 'id',
                    title: '订单ID'
                },
                {
                    field: 'centreName',
                    title: '商户',
                },
                {
                    field: 'goodstotal',
                    title: '商品信息',
                    width: '40%',
                    formatter: function (value, row, index) {
                        return formatProductInfo(row.cashierOrderProducts, row.ordersn);
                    }
                },
                {
                    field: 'mid',
                    title: '买家信息',
                    formatter: function (value, row, index) {
                        var m = '<p>' + "所属门店:" + row.teamName + "  门店Id:" + row.teamId + '</p>';
                        var d = '<p>' + "地址:" + row.address + '</p>';
                        var s = '<p>' + "下单人:" + row.nickname + '</p>';
                        var p = '<p>' + "手机号:" + row.mobile + '</p>';
                        // var c = '<p style="color: red;">' + "备注:" + iscomment + '</p>';
                        return m + d + s + p;
                    }
                },
                {
                    field: 'goodsprice',
                    title: '费用',
                    formatter: function (value, row, index) {
                        var py = '';
                        if (row.paystatus == 0) {
                            py = '<label class="label label-default">未支付</label>';
                        } else if (row.paystatus == 1) {
                            py = '<label class="label label-default">已支付</label>';
                        } else if (row.paystatus == -1) {
                            py = '<label class="label label-default">已取消</label>';
                        }

                        var p = '<p style="margin-top: 20px">' + "商品小计:" + value + '</p>';
                        // var d = '<p>' + "运费:" + row.dispatchprice + '</p>';
                        // var y = '<p>' + "优惠卷抵扣:" + row.discountprice + '</p>';
                        // var j = '<p>' + "积分抵扣:" + row.deductprice + '</p>';
                        var pp = '<p style="color: green">' + "应付:" + row.payprice + '</p>';
                        return py + p   + pp;
                    }
                },
                {
                    field: 'createTime',
                    title: '时间',
                    formatter: function (value, row, index) {
                        var c = '<p>下单时间:' + value + '</p>';
                        var p = '<p>支付时间:' + row.payTime + '</p>';
                        return c + p;
                    }
                },
                {
                    field: 'status',
                    title: '状态',
                    formatter: function (value, row, index) {
                        if (value == -1) {
                            return '<label class="label label-default">已取消</label>'
                        } else if (value == 0) {
                            return '<label class="label label-danger">待支付占座中</label>'
                        } else if (value == 1) {
                            return '<label class="label label-info">商品已制作完</label>'
                        } else if (value == 2) {
                            return '<label class="label label-warning">已结账完成</label>'
                        } else if (value == 3) {
                            return '<label class="label label-success">已自提</label>'
                        } else if (value == 4) {
                            return '<label class="label label-yellow">已退款</label>'
                        }  else {
                            return '<label class="label label-success">未知状态</label>'
                        }
                    }
                },
                {
                    field: 'type',
                    title: '类型',
                    formatter: function (value, row, index) {
                         if (value == 1) {
                            return '<label class="label label-default">堂食</label>'
                        } else if (value == 2) {
                            return '<label class="label label-default">外卖</label>'
                        } else if (value == 3) {
                            return '<label class="label label-default">自提</label>'
                        } else{
                            return '<label class="label label-default">未知类型</label>'
                        }
                     }
                },
                {
                    field: 'allweight',
                    title: '重量',
                    formatter: function (value, row, index) {
                        return value+"g";
                    }
                },
                ]
        });
}

function reLoad() {
    $('#cashierOrderTable').bootstrapTable('refresh');
}

/**
 * 格式化商品列信息
 * @param orderProducts 订单商品列表
 * @param orderSn 订单编号
 */
function formatProductInfo(orderProducts, orderSn) {
    var info = "<span class='label label-light'>订单编号:" + orderSn + "</span>";
    if (orderProducts && orderProducts.length > 0) {
        for (var i = 0; i < orderProducts.length; i++) {
            var item = orderProducts[i];
            var product_status = '';
            var refund = '';
            var l = "";
            // if (item.isLiansuo == 1) {
            //     l = '<span style="color: red;">是该门店门店商品</span>';
            // }
            if (item.status === -1) {
                product_status = '<span class="label label-warning">已取消</span>';
            } else if (item.status === 0) {
                product_status = '<span class="label label-danger">待支付占座中</span>';
            } else if (item.status === 1) {
                product_status = '<span class="label label-success">商品已制作完</span>';
            } else if (item.status === 2) {
                product_status = '<span class="label label-primary">已结账完成</span>';
            } else if (item.status === 3) {
                refund = '<span class="label label-danger">已自提</span>';
            } else if (item.status === 4) {
                refund = '<span class="label label-danger">已退款</span>';
            } else {
                product_status = '';
                refund = '';
            }
            info = info
                + '<table class="table">'
                + '<tbody>'
                + '<tr>'
                + '<td style="width: 50px"><img src=' + item.thumb + ' style="width:50px;height:50px"></td>'
                + '<td style="border: 0px">' + item.productName + '<br>'
                + product_status
                + '</td>'
                + '<td style="text-align:right;border: 0px">' +
                '         ' + l + '<br>'
                + '原价:' + item.productprice + '<br>'
                + '应付:' + item.marketprice + '<br>'
                + '数量:' + item.total + '<br>'
                + refund
                + '</td>'
                + '</tr>'
                + '</tbody>'
                + '</table>'
        }
    }
    return info;
}